#include <bits/stdc++.h>
using namespace std;
int DP(int* as,int n,int lastr,int lastb)
{
    if(!n)
        return 0;
    return max((as[0]==lastr?lastr:0)+DP(as+1,n-1,as[0],lastb),(as[0]==lastb?lastb:0)+DP(as+1,n-1,lastr,as[0]));
}
int main()
{
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);
    int t;
    cin >> t;
    while(t--)
    {
        int n;
        int as[200005];
        cin >> n;
        for(int i=1; i<=n; i++)
            cin >> as[i];
        /*int backpack[200005][2][2]= {0,0,0,0};
        for(int i=1; i<=n; i++)
        {
            int a=backpack[i-1][0][0]+(as[i-1]==as[i]?as[i]:0);
            int b=backpack[i-1][1][0]+(backpack[i-1][1][1]==as[i]?as[i]:0);
            backpack[i][0][0]=max(a,b);
            if(a<b)
                backpack[i][0][1]=backpack[i-1][0][1];
            else backpack[i][0][1]=as[i-1];

            int c=backpack[i-1][1][0]+(as[i-1]==as[i]?as[i]:0);
            int d=backpack[i-1][0][0]+(backpack[i-1][0][1]==as[i]?as[i]:0);
            backpack[i][1][0]=max(c,d);
            if(c<d)
                backpack[i][1][1]=backpack[i-1][1][1];
            else backpack[i][1][1]=as[i-1];
            cout << as[i] << ' ' << a << ' ' << b << ' ' << c << ' ' << d << ' '<<backpack[i][0][0] << ' ' << backpack[i][0][1]<< ' ' << backpack[i][1][0]<< ' ' << backpack[i][1][1]<<endl;

        }
        cout << max(backpack[n][0][0],backpack[n][1][0]) << endl;*/
        cout << DP(as+1,n,0,0) << endl;

    }
    return 0;
}
